refactor(dashboard): Tokenize structural UI colors - #1516
refactor(dashboard): Tokenize structural UI colors#1516sentry-junior[bot] wants to merge 9 commits into
Conversation
Move dashboard shell colors into root CSS tokens and replace hard-coded white/black/hex surfaces so a light theme can share the same utilities. Co-Authored-By: Nicholas Deschenes <nicholas.deschenes@sentry.io>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…tokens # Conflicts: # packages/junior-dashboard/src/client/App.tsx # packages/junior-dashboard/src/client/components/layout/DashboardHeader.tsx # packages/junior-dashboard/src/client/components/layout/SecondaryNavigation.tsx # packages/junior-dashboard/src/client/conversations/ConversationHeader.tsx # packages/junior-dashboard/src/client/conversations/ConversationPage.tsx # packages/junior-dashboard/src/client/conversations/ConversationSidebar.tsx # packages/junior-dashboard/src/client/conversations/ConversationTranscript.tsx # packages/junior-dashboard/src/client/conversations/PendingMailboxStack.tsx # packages/junior-dashboard/src/client/conversations/TranscriptActivityGroup.tsx # packages/junior-dashboard/src/client/conversations/TranscriptContextEventView.tsx # packages/junior-dashboard/src/client/conversations/TranscriptHeader.tsx # packages/junior-dashboard/src/client/conversations/TranscriptStructuredEventView.tsx # packages/junior-dashboard/src/client/conversations/TranscriptToolView.tsx
There was a problem hiding this comment.
Looks good to me. I checked the token values against the replaced dark-theme literals across the changed dashboard files, and the values and opacity variants match. The generated Tailwind CSS includes the new color, border, fill, chart, focus, and shadow utilities, with the remaining direct colors limited to status/data accents.
…tokens # Conflicts: # packages/junior-dashboard/src/client/conversations/ConversationHeader.tsx
Finish the leftover cutover from #1618 so page modules stop owning one-off control styles. **What changed** - Add a `segment` variant to `ToggleButton` and use it in `TimeRangeSelector`. - Add a `danger` tone to `Button` for remove and revoke actions. - Add a compact `Field` size for repository labels. - Add a raised `Card` variant for settings and token panels. - Move `SettingsPage`, `WorkspaceEditor`, and `PersonalTokensPage` to these shared surfaces. - Add the new states to the foundations gallery. **Checks** - `pnpm --filter @sentry/junior-dashboard typecheck` - `pnpm --filter @sentry/junior-dashboard lint` Color-token work remains in #1516 and should be revived separately. <!-- junior-request-attribution:start --> Requested by **David Cramer**. <!-- junior-request-attribution:end --> <!-- junior-session-footer:start --> <!-- junior-conversation-id:slack%3AC0B595QDZLL%3A1787188926.853389 --> -- [View Junior Session](https://junior-prod.sentry.dev/conversations/slack%3AC0B595QDZLL%3A1787188926.853389) [[Sentry]](https://sentry.sentry.io/explore/conversations/slack%3AC0B595QDZLL%3A1787188926.853389/?project=4510944073809921) <!-- junior-session-footer:end --> --------- Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com> Co-authored-by: David Cramer <david@sentry.io>
Add a small structural color role set and point kit plus shell surfaces at it. This supersedes the approach in #1516. That PR mapped nearly every opacity step. This one keeps about 30 roles so authors pick by meaning, not by micro-opacity. **Tokens** - Canvas: `bg`, `bg-elevated`, `ink` - Surface: `panel`, `raised`, `hover`, `control` - Text: `text`, `muted`, `subtle`, `faint`, `solid`, `inverse` - Border: `subtle`, default, `strong`, `emphasis`, `interactive`, `heavy` - Fill / overlay: `faint`, `soft`, `hover`, `strong`, `overlay-soft`, `overlay` - Focus brand: `focus` (`#beaaff`) - Shell helpers: grid line, scrollbar, `.dashboard-shell-bg`, `color-scheme` hook **Consumers in this PR** - Kit: `Button`, `TextInput`, `SearchInput`, `Card`, `StatusChip`, `Drawer`, `Tooltip`, `ProfileMenu`, directory table/sort, loading/header chrome - Shell: SPA background class, SSR access/loading/error HTML, client error panel - Foundations gallery: color swatch fixture **Not included** - Full page-by-page rewrite of remaining `white/*` / chart hex - Light theme values or theme toggle - Status accent retokenization (rose/cyan/emerald stay palette utilities) **Checks** - `pnpm --filter @sentry/junior-dashboard typecheck` - `pnpm --filter @sentry/junior-dashboard lint` After this lands, #1516 can close as superseded. <!-- junior-request-attribution:start --> Requested by **David Cramer**. <!-- junior-request-attribution:end --> <!-- junior-session-footer:start --> <!-- junior-conversation-id:slack%3AC0B595QDZLL%3A1787188926.853389 --> -- [View Junior Session in Sentry](https://sentry.sentry.io/explore/conversations/slack%3AC0B595QDZLL%3A1787188926.853389/?project=4510944073809921) <!-- junior-session-footer:end --> Co-authored-by: sentry-junior[bot] <264270552+sentry-junior[bot]@users.noreply.github.com> Co-authored-by: David Cramer <david@sentry.io>
|
Closing as superseded by #1632 ( This branch is ~296 commits behind and conflict-heavy. Replaying the dense opacity-ladder approach would fight the design #1632 intentionally chose (roles over micro-opacity steps). If we want to finish the migration, the useful follow-up is mapping remaining hard-coded |
Move dashboard structural colors into one root token set and point current surfaces at those tokens.
Superseded by #1632 (merged 2026-08-20). That PR landed the same groundwork with a slimmer role set (~30 tokens) instead of mapping every opacity step. Main already has
.dashboard-shell-bg,color-scheme, and the core canvas/surface/text/border/fill tokens.Closing this draft rather than replaying the dense opacity ladder onto current main (~296 commits ahead, many conflicts). Remaining hard-coded whites/blacks on feature pages can be a follow-up against the slim token set if wanted.
Not included here (and still not on main as a full light theme): a theme toggle, light palette values, or Shiki theme switching.
Requested by David Cramer.
--
View Junior Session [Sentry]